Skip to content

Extend CI to verify editable, non-editable, and GitHub install methods#52

Merged
mawad-amd merged 8 commits intomainfrom
copilot/extend-ci-install-methods-testing
Mar 4, 2026
Merged

Extend CI to verify editable, non-editable, and GitHub install methods#52
mawad-amd merged 8 commits intomainfrom
copilot/extend-ci-install-methods-testing

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 18, 2026

Plan: Extend CI to verify all supported install methods

Summary

Extended CI to verify all three supported install methods (editable, non-editable, and GitHub) using a matrix strategy for better maintainability.

Changes Made

  • Explore repository structure and understand current CI workflow
  • Add test jobs for non-editable installs (pip install ./accordo)
  • Add test jobs for GitHub installs (pip install git+https://github.com/AMDResearch/intellikit.git@sha#subdirectory=accordo)
  • Ensure each install method is tested with import verification for all packages
  • Test non-editable install locally for pure Python packages (verified working)
  • Verify the CI configuration is correct and complete
  • Code review completed and addressed
  • Add security: set minimal GITHUB_TOKEN permissions (contents: read)
  • Run final security check with CodeQL (0 issues found)
  • Refactor to use matrix strategy per reviewer feedback
  • Fix matrix key naming (install-method → install_method)
  • Fix quoting and SHA handling for GitHub installs

Implementation Details

Single test job with matrix strategy:

  • Matrix dimensions: 6 packages × 3 install methods = 18 test combinations
  • Packages: accordo, linex, metrix, nexus, rocm_mcp, uprof_mcp
  • Install methods: editable, non-editable, github
  • fail-fast: false ensures all combinations run even if one fails
  • Matrix key uses underscore (install_method) for proper GitHub Actions expression evaluation

Install methods tested:

  1. Editable: pip install -e <package>
  2. Non-editable: pip install ./<package>
  3. GitHub: pip install git+https://github.com/AMDResearch/intellikit.git@sha#subdirectory=<package>

Import verification:

  • Each install is followed by python3 -c 'import <package>' to verify correct installation

GitHub install improvements:

  • Fixed quoting: Changed from double quotes to single quotes around git URLs to prevent shell interpolation issues when passed through container_exec.sh
  • Fixed SHA handling: Use github.event.pull_request.head.sha for pull requests instead of github.sha (which is a synthetic merge commit SHA that may not be fetchable)

Isolation:

  • Each test step runs in isolated container overlay (via container_exec.sh)
  • Ensures no contamination between tests

Security:

  • Minimal workflow permissions (contents: read) following security best practices
  • CodeQL scan passed with 0 alerts
Original prompt

This section details on the original issue you should resolve

<issue_title>Extend CI to verify all supported install methods so we catch packaging/import issues (e.g. flat vs src layout, non-editable vs editable).</issue_title>
<issue_description>## Summary
Extend CI to verify all supported install methods so we catch packaging/import issues (e.g. flat vs src layout, non-editable vs editable).

Install methods to test

  1. Editablepip install -e accordo (and same for linex, metrix, nexus) from repo root; then python3 -c 'import accordo' (and equivalents).
  2. Non-editablepip install . (or pip install ./accordo, etc.) then the same import checks.
  3. From GitHubpip install git+https://github.com/AMDResearch/intellikit.git#subdirectory=accordo (and equivalents for other packages / root) then import checks.

Rationale

  • Editable works today; non-editable can fail (e.g. scikit-build-core / mixed CMake+Python).
  • Installing from GitHub ensures the published install path works for users.
  • Running all three in CI will prevent regressions when changing layout or build config.</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits February 18, 2026 18:57
Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com>
Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com>
Copilot AI changed the title [WIP] Extend CI to verify all supported install methods Extend CI to verify editable, non-editable, and GitHub install methods Feb 18, 2026
Copilot AI requested a review from mawad-amd February 18, 2026 19:03
Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com>
@mawad-amd mawad-amd marked this pull request as ready for review March 3, 2026 22:30
Copilot AI review requested due to automatic review settings March 3, 2026 22:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Extends the existing “Intellikit CI Test” GitHub Actions workflow to validate that each subpackage can be installed and imported via all supported installation methods (editable, non-editable, and GitHub VCS install), using a matrix strategy.

Changes:

  • Add minimal GITHUB_TOKEN permissions (contents: read) to the workflow.
  • Refactor installation/import verification into a matrix over packages × install methods.
  • Add a GitHub VCS install path (pip install git+https://...#subdirectory=...) to exercise “install from GitHub” behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@mawad-amd
Copy link
Copy Markdown
Member

@copilot apply changes based on the comments in this thread

Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 3, 2026

@copilot apply changes based on the comments in this thread

Applied all changes from the review thread:

  1. Fixed matrix key naming: install-methodinstall_method (hyphens cannot be used with dot notation in GitHub Actions)
  2. Updated all references to use the corrected key name in job names, step names, and conditionals
  3. Added root to the matrix to test the top-level project installation for all three install methods (validates scikit-build-core/CMake and dependency wiring)

The matrix now runs 21 combinations (7 packages × 3 install methods). Root project tests skip import verification since there's no top-level module to import. Commit: 36a8676

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@mawad-amd
Copy link
Copy Markdown
Member

@copilot apply changes based on the comments in this thread

Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 3, 2026

@copilot apply changes based on the comments in this thread

Applied all changes from the review thread:

  1. Fixed quoting in GitHub install commands: Changed from double quotes (\"...\") to single quotes ('...') around git URLs to prevent shell interpolation issues when passed through container_exec.sh's bash -c command
  2. Fixed SHA handling for pull requests: Now uses github.event.pull_request.head.sha for PRs instead of github.sha (which is a synthetic merge commit SHA that isn't fetchable via git+https)
  3. Applied proper variable interpolation using ${GIT_SHA} instead of direct GitHub expression in URLs

The workflow now correctly handles both push events and pull requests, and the git URLs are properly quoted to survive the nested bash execution. Commit: 51d9854

Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com>
Copilot AI requested a review from mawad-amd March 3, 2026 23:45
@mawad-amd
Copy link
Copy Markdown
Member

@cursoragent any comments on this pr?

@mawad-amd mawad-amd merged commit c8afc5f into main Mar 4, 2026
22 checks passed
@mawad-amd mawad-amd deleted the copilot/extend-ci-install-methods-testing branch March 4, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extend CI to verify all supported install methods so we catch packaging/import issues (e.g. flat vs src layout, non-editable vs editable).

3 participants